#ifndef __VERTEX_COLOR_STATE_H__
#define __VERTEX_COLOR_STATE_H__

#include "Color.h"
#include "RenderState.h"

class VertexColorState : public RenderState
{
public:
	VertexColorState();
	virtual Type get_type() const;

	enum SourceMode
	{
		SM_IGNORE,
		SM_EMISSIVE,
		SM_DIFFUSE,
		SM_QUANTITY
	};

	enum LightingMode
	{
		GL_EMISSIVE,
		GL_DIFFUSE,
		LM_QUANTITY
	};

	SourceMode& source();
	LightingMode lighting();

protected:
	SourceMode m_source;
	LightingMode m_lighting;
};

#include "VertexColorState.inl"

#endif
